Software-based systems typically provide some type of user interface by which such a system requests input from a user and by which the system displays output for the user. A user can provide the requested input via an input device such as a keyboard and/or a mouse. The input device is attached to, or is in communication with, the system. The system can display output on an output device such as a computer monitor. The output device is also attached to, or is in communication with, the system.
One type of user interface is a graphical user interface (“GUI”). A GUI typically uses menus and/or other controls to request input from the user and windows and/or screens to display information for the user. A window (or other GUI element such as a screen) is typically constructed from one or more visual components such as text fields, images, scroll bars, and the like. The window is displayed by drawing on the output device each component of the window. Typically, this involves drawing the visible portions of each component. A portion of a component may not be visible, for example, because that portion has scrolled out of the window or has otherwise been hidden from view. The components can be created using, for example, text or bitmapped images. One example of a GUI is found in the WINDOWS 2000(R) operating system from Microsoft Corporation.
Another type of user interface is a command-line interface. A command-line interface typically provides a user with a command prompt at which the user types commands. One example of a command-line interface is the command-line interface used in the Internetworking Operating System found in switches and routers from CISCO Systems, Inc.
One application for a graphical user interface is in embedded systems. For example, a high-speed digital subscriber line 2 (HDSL2) line interface card typically includes an embedded control program. The embedded control program allows a user to use a GUI to view and/or change various operating parameters for the line interface card. In some implementations, the line card includes a craft port (for example, a RS-232 serial port) to which a user physically connects a portable computer or other device in order for the user and the embedded control program to communicate. In some implementations, the embedded control program and the user communicate via an embedded operations channel included in the main HDSL2 data link provided by the line card.